#ifndef __CBOARD_H__
#define __CBOARD_H__

#include "GeneralInclude.h"
#include "Ficha.h"
#include "Enemy.h"

#define BOARD_NUM_FILES					10
#define BOARD_NUM_COLUMNS				10


class CBoard
{
protected:
    stringc Level;
    u32 NumFiles;
    u32 NumColumns;
    quad2du32 MoveQuad;
	IVectorContainer<I2DNode> VectorCells;

public:
    CBoard();
    virtual ~CBoard();

	void Destroy();
    void SetPosFicha(CFicha *Ficha,u32 x,u32 y);
    void SetLevel(stringc level);
    void SetFichaOnTop(CFicha *Ficha);
    void SetBoardSize();
    void SetSizeBoardCell(I2DNode *node);
    void SetPosBoardCell(I2DNode *node,u32 PosX,u32 PosY);
    vPos GetBoardXPosition(u32 XPos);
    vPos GetBoardYPosition(u32 YPos);
    vector2dvpos GetBoardPosition(vector2dvpos Pos);
    vector2dvpos GetBoardPosition(vPos XPos,vPos YPos);
    s32 LoadBoard();
    void PutNewEnemy(CEnemy *newenemy);
    vector2du32 GetBoardLen()	{	return vector2du32(NumColumns,NumFiles);	}
    quad2du32 &GetMoveQuad()	{	return MoveQuad;	}
};

#endif
